namespace ObjectPersistence {
    using System;
    using System.Text;
    using System.Data.Common;
    
    #region Category
    public class CategoryDomainObjectFactory : DomainObjectFactoryBase<KYO.DAL.Category, CategoryRowMap> {
        public override KYO.DAL.Category newDomainObject(CategoryRowMap row) {
            KYO.DAL.Category result = new KYO.DAL.Category(row.CategoryID, row.Odering, row.Published, row.Title);
            result.IsNew = false;
            result.ChangesMade = false;
            return result;
        }
    }
    internal class CategoryUpdateFactory {
        internal void insertCommandText(KYO.DAL.Category PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = "INSERT INTO [dbo].[Category] ([dbo].[Category].[Odering],[dbo].[Category].[Publis" +
                "hed],[dbo].[Category].[Title]) VALUES (@arg0, @arg1, @arg2)";
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg0", PersistentObject.Odering);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg1", PersistentObject.Published);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg2", PersistentObject.Title);
        }
        internal void updateCommandText(KYO.DAL.Category PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = "UPDATE [dbo].[Category] SET [dbo].[Category].[Odering]= @Odering, [dbo].[Category" +
                "].[Published]= @Published, [dbo].[Category].[Title]= @Title";
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Odering", PersistentObject.Odering);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Published", PersistentObject.Published);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Title", PersistentObject.Title);
            CategorySelectionFactory _tempSF = new CategorySelectionFactory();
            _tempSF.getDefaultSelection(PersistentObject, comm);
        }
    }
    public class CategoryRowMap : RowMapBase {
        public int CategoryID;

        public string Title;
        public int Odering;
        public bool Published;
    }
    internal class CategorySelectionFactory : SelectionBase<CategoryCriteria> {
        public void getDefaultSelection(KYO.DAL.Category Object, System.Data.Common.DbCommand comm) {
            comm.CommandText = (comm.CommandText + " WHERE [dbo].[Category].[CategoryID] = @WCategoryID");
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@WCategoryID", Object.CategoryID);
        }
    }
    public class CategoryCriteria : CriteriaBase {
        public void Set_CategoryID(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[Category].[CategoryID]", value);
        }
        public void Set_CategoryID_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[Category].[CategoryID]", value);
        }
        public void Set_Title(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Category].[Title]", value);
        }
        public void Set_Title_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Category].[Title]", value);
        }
        public void Set_Odering(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[Category].[Odering]", value);
        }
        public void Set_Odering_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[Category].[Odering]", value);
        }
        public void Set_Published(AVAILABLE_OPERATORS  op, bool value) {
            this.setValue(op, "[dbo].[Category].[Published]", value);
        }
        public void Set_Published_IN(IN_NOT_IN op, bool[] value) {
            this.setValue(op, "[dbo].[Category].[Published]", value);
        }
    }
    #endregion
    #region Comment
    public class CommentDomainObjectFactory : DomainObjectFactoryBase<KYO.DAL.Comment, CommentRowMap> {
        public override KYO.DAL.Comment newDomainObject(CommentRowMap row) {
            KYO.DAL.Comment result = new KYO.DAL.Comment(row.CommentId, row.Content, row.DateCreate, row.Email, row.InformationId, row.Name);
            result.IsNew = false;
            result.ChangesMade = false;
            return result;
        }
    }
    internal class CommentUpdateFactory {
        internal void insertCommandText(KYO.DAL.Comment PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = "INSERT INTO [dbo].[Comment] ([dbo].[Comment].[Content],[dbo].[Comment].[DateCreat" +
                "e],[dbo].[Comment].[Email],[dbo].[Comment].[InformationId],[dbo].[Comment].[Name" +
                "]) VALUES (@arg0, @arg1, @arg2, @arg3, @arg4)";
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg0", PersistentObject.Content);
            if ((PersistentObject.DateCreate.HasValue == false)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg1", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg1", PersistentObject.DateCreate);
            }
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg2", PersistentObject.Email);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg3", PersistentObject.InformationId);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg4", PersistentObject.Name);
        }
        internal void updateCommandText(KYO.DAL.Comment PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = "UPDATE [dbo].[Comment] SET [dbo].[Comment].[Content]= @Content, [dbo].[Comment].[" +
                "DateCreate]= @DateCreate, [dbo].[Comment].[Email]= @Email, [dbo].[Comment].[Info" +
                "rmationId]= @InformationId, [dbo].[Comment].[Name]= @Name";
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Content", PersistentObject.Content);
            if ((PersistentObject.DateCreate.HasValue == false)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@DateCreate", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@DateCreate", PersistentObject.DateCreate);
            }
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Email", PersistentObject.Email);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@InformationId", PersistentObject.InformationId);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Name", PersistentObject.Name);
            CommentSelectionFactory _tempSF = new CommentSelectionFactory();
            _tempSF.getDefaultSelection(PersistentObject, comm);
        }
    }
    public class CommentRowMap : RowMapBase {
        public int CommentId;

        public int InformationId;
        public string Email;
        public string Name;
        public string Content;
        public System.Nullable<System.DateTime> DateCreate;
    }
    internal class CommentSelectionFactory : SelectionBase<CommentCriteria> {
        public void getDefaultSelection(KYO.DAL.Comment Object, System.Data.Common.DbCommand comm) {
            comm.CommandText = (comm.CommandText + " WHERE [dbo].[Comment].[CommentId] = @WCommentId");
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@WCommentId", Object.CommentId);
        }
    }
    public class CommentCriteria : CriteriaBase {
        public void Set_CommentId(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[Comment].[CommentId]", value);
        }
        public void Set_CommentId_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[Comment].[CommentId]", value);
        }
        public void Set_InformationId(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[Comment].[InformationId]", value);
        }
        public void Set_InformationId_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[Comment].[InformationId]", value);
        }
        public void Set_Email(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Comment].[Email]", value);
        }
        public void Set_Email_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Comment].[Email]", value);
        }
        public void Set_Name(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Comment].[Name]", value);
        }
        public void Set_Name_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Comment].[Name]", value);
        }
        public void Set_Content(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Comment].[Content]", value);
        }
        public void Set_Content_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Comment].[Content]", value);
        }
        public void Set_DateCreate(AVAILABLE_OPERATORS  op, System.Nullable<System.DateTime> value) {
            this.setValue(op, "[dbo].[Comment].[DateCreate]", value);
        }
        public void Set_DateCreate_IN(IN_NOT_IN op, System.Nullable<System.DateTime>[] value) {
            this.setValue(op, "[dbo].[Comment].[DateCreate]", value);
        }
    }
    #endregion
    #region Contact
    public class ContactDomainObjectFactory : DomainObjectFactoryBase<KYO.DAL.Contact, ContactRowMap> {
        public override KYO.DAL.Contact newDomainObject(ContactRowMap row) {
            KYO.DAL.Contact result = new KYO.DAL.Contact(row.ContactId, row.Address, row.Company, row.Content, row.DateCreate, row.Email, row.Fax, row.FullName, row.IsRead, row.Telephone, row.Title);
            result.IsNew = false;
            result.ChangesMade = false;
            return result;
        }
    }
    internal class ContactUpdateFactory {
        internal void insertCommandText(KYO.DAL.Contact PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = @"INSERT INTO [dbo].[Contact] ([dbo].[Contact].[Address],[dbo].[Contact].[Company],[dbo].[Contact].[Content],[dbo].[Contact].[DateCreate],[dbo].[Contact].[Email],[dbo].[Contact].[Fax],[dbo].[Contact].[FullName],[dbo].[Contact].[IsRead],[dbo].[Contact].[Telephone],[dbo].[Contact].[Title]) VALUES (@arg0, @arg1, @arg2, @arg3, @arg4, @arg5, @arg6, @arg7, @arg8, @arg9)";
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg0", PersistentObject.Address);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg1", PersistentObject.Company);
            if ((PersistentObject.Content == null)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg2", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg2", PersistentObject.Content);
            }
            if ((PersistentObject.DateCreate.HasValue == false)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg3", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg3", PersistentObject.DateCreate);
            }
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg4", PersistentObject.Email);
            if ((PersistentObject.Fax == null)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg5", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg5", PersistentObject.Fax);
            }
            if ((PersistentObject.FullName == null)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg6", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg6", PersistentObject.FullName);
            }
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg7", PersistentObject.IsRead);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg8", PersistentObject.Telephone);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg9", PersistentObject.Title);
        }
        internal void updateCommandText(KYO.DAL.Contact PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = @"UPDATE [dbo].[Contact] SET [dbo].[Contact].[Address]= @Address, [dbo].[Contact].[Company]= @Company, [dbo].[Contact].[Content]= @Content, [dbo].[Contact].[DateCreate]= @DateCreate, [dbo].[Contact].[Email]= @Email, [dbo].[Contact].[Fax]= @Fax, [dbo].[Contact].[FullName]= @FullName, [dbo].[Contact].[IsRead]= @IsRead, [dbo].[Contact].[Telephone]= @Telephone, [dbo].[Contact].[Title]= @Title";
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Address", PersistentObject.Address);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Company", PersistentObject.Company);
            if ((PersistentObject.Content == null)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@Content", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@Content", PersistentObject.Content);
            }
            if ((PersistentObject.DateCreate.HasValue == false)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@DateCreate", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@DateCreate", PersistentObject.DateCreate);
            }
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Email", PersistentObject.Email);
            if ((PersistentObject.Fax == null)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@Fax", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@Fax", PersistentObject.Fax);
            }
            if ((PersistentObject.FullName == null)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@FullName", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@FullName", PersistentObject.FullName);
            }
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@IsRead", PersistentObject.IsRead);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Telephone", PersistentObject.Telephone);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Title", PersistentObject.Title);
            ContactSelectionFactory _tempSF = new ContactSelectionFactory();
            _tempSF.getDefaultSelection(PersistentObject, comm);
        }
    }
    public class ContactRowMap : RowMapBase {
        public int ContactId;

        public string FullName;
        public string Company;
        public string Address;
        public string Telephone;
        public string Fax;
        public string Email;
        public string Content;
        public bool IsRead;
        public string Title;
        public System.Nullable<System.DateTime> DateCreate;
    }
    internal class ContactSelectionFactory : SelectionBase<ContactCriteria> {
        public void getDefaultSelection(KYO.DAL.Contact Object, System.Data.Common.DbCommand comm) {
            comm.CommandText = (comm.CommandText + " WHERE [dbo].[Contact].[ContactId] = @WContactId");
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@WContactId", Object.ContactId);
        }
    }
    public class ContactCriteria : CriteriaBase {
        public void Set_ContactId(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[Contact].[ContactId]", value);
        }
        public void Set_ContactId_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[Contact].[ContactId]", value);
        }
        public void Set_FullName(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Contact].[FullName]", value);
        }
        public void Set_FullName_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Contact].[FullName]", value);
        }
        public void Set_Company(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Contact].[Company]", value);
        }
        public void Set_Company_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Contact].[Company]", value);
        }
        public void Set_Address(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Contact].[Address]", value);
        }
        public void Set_Address_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Contact].[Address]", value);
        }
        public void Set_Telephone(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Contact].[Telephone]", value);
        }
        public void Set_Telephone_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Contact].[Telephone]", value);
        }
        public void Set_Fax(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Contact].[Fax]", value);
        }
        public void Set_Fax_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Contact].[Fax]", value);
        }
        public void Set_Email(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Contact].[Email]", value);
        }
        public void Set_Email_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Contact].[Email]", value);
        }
        public void Set_Content(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Contact].[Content]", value);
        }
        public void Set_Content_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Contact].[Content]", value);
        }
        public void Set_IsRead(AVAILABLE_OPERATORS  op, bool value) {
            this.setValue(op, "[dbo].[Contact].[IsRead]", value);
        }
        public void Set_IsRead_IN(IN_NOT_IN op, bool[] value) {
            this.setValue(op, "[dbo].[Contact].[IsRead]", value);
        }
        public void Set_Title(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Contact].[Title]", value);
        }
        public void Set_Title_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Contact].[Title]", value);
        }
        public void Set_DateCreate(AVAILABLE_OPERATORS  op, System.Nullable<System.DateTime> value) {
            this.setValue(op, "[dbo].[Contact].[DateCreate]", value);
        }
        public void Set_DateCreate_IN(IN_NOT_IN op, System.Nullable<System.DateTime>[] value) {
            this.setValue(op, "[dbo].[Contact].[DateCreate]", value);
        }
    }
    #endregion
    #region Information
    public class InformationDomainObjectFactory : DomainObjectFactoryBase<KYO.DAL.Information, InformationRowMap> {
        public override KYO.DAL.Information newDomainObject(InformationRowMap row) {
            KYO.DAL.Information result = new KYO.DAL.Information(row.InformationID, row.Abstract, row.AllowComment, row.Content, row.DateCreate, row.ImageUrl, row.Odering, row.Published, row.Title);
            result.IsNew = false;
            result.ChangesMade = false;
            return result;
        }
    }
    internal class InformationUpdateFactory {
        internal void insertCommandText(KYO.DAL.Information PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = @"INSERT INTO [dbo].[Information] ([dbo].[Information].[Abstract],[dbo].[Information].[AllowComment],[dbo].[Information].[Content],[dbo].[Information].[DateCreate],[dbo].[Information].[ImageUrl],[dbo].[Information].[Odering],[dbo].[Information].[Published],[dbo].[Information].[Title]) VALUES (@arg0, @arg1, @arg2, @arg3, @arg4, @arg5, @arg6, @arg7)";
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg0", PersistentObject.Abstract);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg1", PersistentObject.AllowComment);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg2", PersistentObject.Content);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg3", PersistentObject.DateCreate);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg4", PersistentObject.ImageUrl);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg5", PersistentObject.Odering);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg6", PersistentObject.Published);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg7", PersistentObject.Title);
        }
        internal void updateCommandText(KYO.DAL.Information PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = @"UPDATE [dbo].[Information] SET [dbo].[Information].[Abstract]= @Abstract, [dbo].[Information].[AllowComment]= @AllowComment, [dbo].[Information].[Content]= @Content, [dbo].[Information].[DateCreate]= @DateCreate, [dbo].[Information].[ImageUrl]= @ImageUrl, [dbo].[Information].[Odering]= @Odering, [dbo].[Information].[Published]= @Published, [dbo].[Information].[Title]= @Title";
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Abstract", PersistentObject.Abstract);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@AllowComment", PersistentObject.AllowComment);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Content", PersistentObject.Content);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@DateCreate", PersistentObject.DateCreate);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@ImageUrl", PersistentObject.ImageUrl);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Odering", PersistentObject.Odering);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Published", PersistentObject.Published);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Title", PersistentObject.Title);
            InformationSelectionFactory _tempSF = new InformationSelectionFactory();
            _tempSF.getDefaultSelection(PersistentObject, comm);
        }
    }
    public class InformationRowMap : RowMapBase {
        public int InformationID;

        public string Title;
        public string Abstract;
        public string Content;
        public int Odering;
        public bool Published;
        public System.DateTime DateCreate;
        public bool AllowComment;
        public string ImageUrl;
    }
    internal class InformationSelectionFactory : SelectionBase<InformationCriteria> {
        public void getDefaultSelection(KYO.DAL.Information Object, System.Data.Common.DbCommand comm) {
            comm.CommandText = (comm.CommandText + " WHERE [dbo].[Information].[InformationID] = @WInformationID");
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@WInformationID", Object.InformationID);
        }
    }
    public class InformationCriteria : CriteriaBase {
        public void Set_InformationID(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[Information].[InformationID]", value);
        }
        public void Set_InformationID_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[Information].[InformationID]", value);
        }
        public void Set_Title(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Information].[Title]", value);
        }
        public void Set_Title_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Information].[Title]", value);
        }
        public void Set_Abstract(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Information].[Abstract]", value);
        }
        public void Set_Abstract_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Information].[Abstract]", value);
        }
        public void Set_Content(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Information].[Content]", value);
        }
        public void Set_Content_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Information].[Content]", value);
        }
        public void Set_Odering(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[Information].[Odering]", value);
        }
        public void Set_Odering_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[Information].[Odering]", value);
        }
        public void Set_Published(AVAILABLE_OPERATORS  op, bool value) {
            this.setValue(op, "[dbo].[Information].[Published]", value);
        }
        public void Set_Published_IN(IN_NOT_IN op, bool[] value) {
            this.setValue(op, "[dbo].[Information].[Published]", value);
        }
        public void Set_DateCreate(AVAILABLE_OPERATORS  op, System.DateTime value) {
            this.setValue(op, "[dbo].[Information].[DateCreate]", value);
        }
        public void Set_DateCreate_IN(IN_NOT_IN op, System.DateTime[] value) {
            this.setValue(op, "[dbo].[Information].[DateCreate]", value);
        }
        public void Set_AllowComment(AVAILABLE_OPERATORS  op, bool value) {
            this.setValue(op, "[dbo].[Information].[AllowComment]", value);
        }
        public void Set_AllowComment_IN(IN_NOT_IN op, bool[] value) {
            this.setValue(op, "[dbo].[Information].[AllowComment]", value);
        }
        public void Set_ImageUrl(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Information].[ImageUrl]", value);
        }
        public void Set_ImageUrl_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Information].[ImageUrl]", value);
        }
    }
    #endregion
    #region Module
    public class ModuleDomainObjectFactory : DomainObjectFactoryBase<KYO.DAL.Module, ModuleRowMap> {
        public override KYO.DAL.Module newDomainObject(ModuleRowMap row) {
            KYO.DAL.Module result = new KYO.DAL.Module(row.ModuleId, row.Author, row.CopyRight, row.Description, row.FileName, row.ModulePath, row.Name, row.Version);
            result.IsNew = false;
            result.ChangesMade = false;
            return result;
        }
    }
    internal class ModuleUpdateFactory {
        internal void insertCommandText(KYO.DAL.Module PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = @"INSERT INTO [dbo].[Module] ([dbo].[Module].[Author],[dbo].[Module].[CopyRight],[dbo].[Module].[Description],[dbo].[Module].[FileName],[dbo].[Module].[ModulePath],[dbo].[Module].[Name],[dbo].[Module].[Version]) VALUES (@arg0, @arg1, @arg2, @arg3, @arg4, @arg5, @arg6)";
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg0", PersistentObject.Author);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg1", PersistentObject.CopyRight);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg2", PersistentObject.Description);
            if ((PersistentObject.FileName == null)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg3", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg3", PersistentObject.FileName);
            }
            if ((PersistentObject.ModulePath == null)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg4", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg4", PersistentObject.ModulePath);
            }
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg5", PersistentObject.Name);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg6", PersistentObject.Version);
        }
        internal void updateCommandText(KYO.DAL.Module PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = @"UPDATE [dbo].[Module] SET [dbo].[Module].[Author]= @Author, [dbo].[Module].[CopyRight]= @CopyRight, [dbo].[Module].[Description]= @Description, [dbo].[Module].[FileName]= @FileName, [dbo].[Module].[ModulePath]= @ModulePath, [dbo].[Module].[Name]= @Name, [dbo].[Module].[Version]= @Version";
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Author", PersistentObject.Author);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@CopyRight", PersistentObject.CopyRight);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Description", PersistentObject.Description);
            if ((PersistentObject.FileName == null)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@FileName", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@FileName", PersistentObject.FileName);
            }
            if ((PersistentObject.ModulePath == null)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@ModulePath", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@ModulePath", PersistentObject.ModulePath);
            }
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Name", PersistentObject.Name);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Version", PersistentObject.Version);
            ModuleSelectionFactory _tempSF = new ModuleSelectionFactory();
            _tempSF.getDefaultSelection(PersistentObject, comm);
        }
    }
    public class ModuleRowMap : RowMapBase {
        public int ModuleId;

        public string Name;
        public string Author;
        public string CopyRight;
        public string Version;
        public string Description;
        public string ModulePath;
        public string FileName;
    }
    internal class ModuleSelectionFactory : SelectionBase<ModuleCriteria> {
        public void getDefaultSelection(KYO.DAL.Module Object, System.Data.Common.DbCommand comm) {
            comm.CommandText = (comm.CommandText + " WHERE [dbo].[Module].[ModuleId] = @WModuleId");
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@WModuleId", Object.ModuleId);
        }
    }
    public class ModuleCriteria : CriteriaBase {
        public void Set_ModuleId(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[Module].[ModuleId]", value);
        }
        public void Set_ModuleId_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[Module].[ModuleId]", value);
        }
        public void Set_Name(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Module].[Name]", value);
        }
        public void Set_Name_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Module].[Name]", value);
        }
        public void Set_Author(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Module].[Author]", value);
        }
        public void Set_Author_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Module].[Author]", value);
        }
        public void Set_CopyRight(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Module].[CopyRight]", value);
        }
        public void Set_CopyRight_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Module].[CopyRight]", value);
        }
        public void Set_Version(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Module].[Version]", value);
        }
        public void Set_Version_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Module].[Version]", value);
        }
        public void Set_Description(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Module].[Description]", value);
        }
        public void Set_Description_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Module].[Description]", value);
        }
        public void Set_ModulePath(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Module].[ModulePath]", value);
        }
        public void Set_ModulePath_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Module].[ModulePath]", value);
        }
        public void Set_FileName(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Module].[FileName]", value);
        }
        public void Set_FileName_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Module].[FileName]", value);
        }
    }
    #endregion
    #region ModuleIntall
    public class ModuleIntallDomainObjectFactory : DomainObjectFactoryBase<KYO.DAL.ModuleIntall, ModuleIntallRowMap> {
        public override KYO.DAL.ModuleIntall newDomainObject(ModuleIntallRowMap row) {
            KYO.DAL.ModuleIntall result = new KYO.DAL.ModuleIntall(row.ID, row.ModuleId, row.Name);
            result.IsNew = false;
            result.ChangesMade = false;
            return result;
        }
    }
    internal class ModuleIntallUpdateFactory {
        internal void insertCommandText(KYO.DAL.ModuleIntall PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = "INSERT INTO [dbo].[ModuleIntall] ([dbo].[ModuleIntall].[ModuleId],[dbo].[ModuleIn" +
                "tall].[Name]) VALUES (@arg0, @arg1)";
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg0", PersistentObject.ModuleId);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg1", PersistentObject.Name);
        }
        internal void updateCommandText(KYO.DAL.ModuleIntall PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = "UPDATE [dbo].[ModuleIntall] SET [dbo].[ModuleIntall].[ModuleId]= @ModuleId, [dbo]" +
                ".[ModuleIntall].[Name]= @Name";
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@ModuleId", PersistentObject.ModuleId);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Name", PersistentObject.Name);
            ModuleIntallSelectionFactory _tempSF = new ModuleIntallSelectionFactory();
            _tempSF.getDefaultSelection(PersistentObject, comm);
        }
    }
    public class ModuleIntallRowMap : RowMapBase {
        public int ID;

        public int ModuleId;
        public string Name;
    }
    internal class ModuleIntallSelectionFactory : SelectionBase<ModuleIntallCriteria> {
        public void getDefaultSelection(KYO.DAL.ModuleIntall Object, System.Data.Common.DbCommand comm) {
            comm.CommandText = (comm.CommandText + " WHERE [dbo].[ModuleIntall].[ID] = @WID");
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@WID", Object.ID);
        }
    }
    public class ModuleIntallCriteria : CriteriaBase {
        public void Set_ID(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[ModuleIntall].[ID]", value);
        }
        public void Set_ID_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[ModuleIntall].[ID]", value);
        }
        public void Set_ModuleId(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[ModuleIntall].[ModuleId]", value);
        }
        public void Set_ModuleId_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[ModuleIntall].[ModuleId]", value);
        }
        public void Set_Name(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[ModuleIntall].[Name]", value);
        }
        public void Set_Name_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[ModuleIntall].[Name]", value);
        }
    }
    #endregion
    #region ProjectImage
    public class ProjectImageDomainObjectFactory : DomainObjectFactoryBase<KYO.DAL.ProjectImage, ProjectImageRowMap> {
        public override KYO.DAL.ProjectImage newDomainObject(ProjectImageRowMap row) {
            KYO.DAL.ProjectImage result = new KYO.DAL.ProjectImage(row.ProjectImageID, row.ImageUrl, row.LinkUrl, row.Odering, row.Published, row.Title, row.Type);
            result.IsNew = false;
            result.ChangesMade = false;
            return result;
        }
    }
    internal class ProjectImageUpdateFactory {
        internal void insertCommandText(KYO.DAL.ProjectImage PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = @"INSERT INTO [dbo].[ProjectImage] ([dbo].[ProjectImage].[ImageUrl],[dbo].[ProjectImage].[LinkUrl],[dbo].[ProjectImage].[Odering],[dbo].[ProjectImage].[Published],[dbo].[ProjectImage].[Title],[dbo].[ProjectImage].[Type]) VALUES (@arg0, @arg1, @arg2, @arg3, @arg4, @arg5)";
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg0", PersistentObject.ImageUrl);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg1", PersistentObject.LinkUrl);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg2", PersistentObject.Odering);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg3", PersistentObject.Published);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg4", PersistentObject.Title);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg5", PersistentObject.Type);
        }
        internal void updateCommandText(KYO.DAL.ProjectImage PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = @"UPDATE [dbo].[ProjectImage] SET [dbo].[ProjectImage].[ImageUrl]= @ImageUrl, [dbo].[ProjectImage].[LinkUrl]= @LinkUrl, [dbo].[ProjectImage].[Odering]= @Odering, [dbo].[ProjectImage].[Published]= @Published, [dbo].[ProjectImage].[Title]= @Title, [dbo].[ProjectImage].[Type]= @Type";
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@ImageUrl", PersistentObject.ImageUrl);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@LinkUrl", PersistentObject.LinkUrl);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Odering", PersistentObject.Odering);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Published", PersistentObject.Published);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Title", PersistentObject.Title);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Type", PersistentObject.Type);
            ProjectImageSelectionFactory _tempSF = new ProjectImageSelectionFactory();
            _tempSF.getDefaultSelection(PersistentObject, comm);
        }
    }
    public class ProjectImageRowMap : RowMapBase {
        public int ProjectImageID;

        public string Title;
        public string LinkUrl;
        public string ImageUrl;
        public int Odering;
        public bool Published;
        public string Type;
    }
    internal class ProjectImageSelectionFactory : SelectionBase<ProjectImageCriteria> {
        public void getDefaultSelection(KYO.DAL.ProjectImage Object, System.Data.Common.DbCommand comm) {
            comm.CommandText = (comm.CommandText + " WHERE [dbo].[ProjectImage].[ProjectImageID] = @WProjectImageID");
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@WProjectImageID", Object.ProjectImageID);
        }
    }
    public class ProjectImageCriteria : CriteriaBase {
        public void Set_ProjectImageID(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[ProjectImage].[ProjectImageID]", value);
        }
        public void Set_ProjectImageID_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[ProjectImage].[ProjectImageID]", value);
        }
        public void Set_Title(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[ProjectImage].[Title]", value);
        }
        public void Set_Title_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[ProjectImage].[Title]", value);
        }
        public void Set_LinkUrl(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[ProjectImage].[LinkUrl]", value);
        }
        public void Set_LinkUrl_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[ProjectImage].[LinkUrl]", value);
        }
        public void Set_ImageUrl(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[ProjectImage].[ImageUrl]", value);
        }
        public void Set_ImageUrl_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[ProjectImage].[ImageUrl]", value);
        }
        public void Set_Odering(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[ProjectImage].[Odering]", value);
        }
        public void Set_Odering_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[ProjectImage].[Odering]", value);
        }
        public void Set_Published(AVAILABLE_OPERATORS  op, bool value) {
            this.setValue(op, "[dbo].[ProjectImage].[Published]", value);
        }
        public void Set_Published_IN(IN_NOT_IN op, bool[] value) {
            this.setValue(op, "[dbo].[ProjectImage].[Published]", value);
        }
        public void Set_Type(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[ProjectImage].[Type]", value);
        }
        public void Set_Type_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[ProjectImage].[Type]", value);
        }
    }
    #endregion
    #region ProjectSlide
    public class ProjectSlideDomainObjectFactory : DomainObjectFactoryBase<KYO.DAL.ProjectSlide, ProjectSlideRowMap> {
        public override KYO.DAL.ProjectSlide newDomainObject(ProjectSlideRowMap row) {
            KYO.DAL.ProjectSlide result = new KYO.DAL.ProjectSlide(row.ProjectSlideID, row.Description, row.LinkImage, row.LinkUrl, row.Odering, row.Published, row.Title);
            result.IsNew = false;
            result.ChangesMade = false;
            return result;
        }
    }
    internal class ProjectSlideUpdateFactory {
        internal void insertCommandText(KYO.DAL.ProjectSlide PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = @"INSERT INTO [dbo].[ProjectSlide] ([dbo].[ProjectSlide].[Description],[dbo].[ProjectSlide].[LinkImage],[dbo].[ProjectSlide].[LinkUrl],[dbo].[ProjectSlide].[Odering],[dbo].[ProjectSlide].[Published],[dbo].[ProjectSlide].[Title]) VALUES (@arg0, @arg1, @arg2, @arg3, @arg4, @arg5)";
            if ((PersistentObject.Description == null)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg0", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg0", PersistentObject.Description);
            }
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg1", PersistentObject.LinkImage);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg2", PersistentObject.LinkUrl);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg3", PersistentObject.Odering);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg4", PersistentObject.Published);
            if ((PersistentObject.Title == null)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg5", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg5", PersistentObject.Title);
            }
        }
        internal void updateCommandText(KYO.DAL.ProjectSlide PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = @"UPDATE [dbo].[ProjectSlide] SET [dbo].[ProjectSlide].[Description]= @Description, [dbo].[ProjectSlide].[LinkImage]= @LinkImage, [dbo].[ProjectSlide].[LinkUrl]= @LinkUrl, [dbo].[ProjectSlide].[Odering]= @Odering, [dbo].[ProjectSlide].[Published]= @Published, [dbo].[ProjectSlide].[Title]= @Title";
            if ((PersistentObject.Description == null)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@Description", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@Description", PersistentObject.Description);
            }
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@LinkImage", PersistentObject.LinkImage);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@LinkUrl", PersistentObject.LinkUrl);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Odering", PersistentObject.Odering);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Published", PersistentObject.Published);
            if ((PersistentObject.Title == null)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@Title", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@Title", PersistentObject.Title);
            }
            ProjectSlideSelectionFactory _tempSF = new ProjectSlideSelectionFactory();
            _tempSF.getDefaultSelection(PersistentObject, comm);
        }
    }
    public class ProjectSlideRowMap : RowMapBase {
        public int ProjectSlideID;

        public string LinkUrl;
        public string LinkImage;
        public int Odering;
        public bool Published;
        public string Title;
        public string Description;
    }
    internal class ProjectSlideSelectionFactory : SelectionBase<ProjectSlideCriteria> {
        public void getDefaultSelection(KYO.DAL.ProjectSlide Object, System.Data.Common.DbCommand comm) {
            comm.CommandText = (comm.CommandText + " WHERE [dbo].[ProjectSlide].[ProjectSlideID] = @WProjectSlideID");
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@WProjectSlideID", Object.ProjectSlideID);
        }
    }
    public class ProjectSlideCriteria : CriteriaBase {
        public void Set_ProjectSlideID(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[ProjectSlide].[ProjectSlideID]", value);
        }
        public void Set_ProjectSlideID_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[ProjectSlide].[ProjectSlideID]", value);
        }
        public void Set_LinkUrl(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[ProjectSlide].[LinkUrl]", value);
        }
        public void Set_LinkUrl_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[ProjectSlide].[LinkUrl]", value);
        }
        public void Set_LinkImage(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[ProjectSlide].[LinkImage]", value);
        }
        public void Set_LinkImage_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[ProjectSlide].[LinkImage]", value);
        }
        public void Set_Odering(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[ProjectSlide].[Odering]", value);
        }
        public void Set_Odering_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[ProjectSlide].[Odering]", value);
        }
        public void Set_Published(AVAILABLE_OPERATORS  op, bool value) {
            this.setValue(op, "[dbo].[ProjectSlide].[Published]", value);
        }
        public void Set_Published_IN(IN_NOT_IN op, bool[] value) {
            this.setValue(op, "[dbo].[ProjectSlide].[Published]", value);
        }
        public void Set_Title(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[ProjectSlide].[Title]", value);
        }
        public void Set_Title_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[ProjectSlide].[Title]", value);
        }
        public void Set_Description(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[ProjectSlide].[Description]", value);
        }
        public void Set_Description_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[ProjectSlide].[Description]", value);
        }
    }
    #endregion
    #region Role
    public class RoleDomainObjectFactory : DomainObjectFactoryBase<KYO.DAL.Role, RoleRowMap> {
        public override KYO.DAL.Role newDomainObject(RoleRowMap row) {
            KYO.DAL.Role result = new KYO.DAL.Role(row.RoleId, row.Name);
            result.IsNew = false;
            result.ChangesMade = false;
            return result;
        }
    }
    internal class RoleUpdateFactory {
        internal void insertCommandText(KYO.DAL.Role PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = "INSERT INTO [dbo].[Role] ([dbo].[Role].[RoleId],[dbo].[Role].[Name]) VALUES (@arg" +
                "0, @arg1)";
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg0", PersistentObject.RoleId);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg1", PersistentObject.Name);
        }
        internal void updateCommandText(KYO.DAL.Role PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = "UPDATE [dbo].[Role] SET [dbo].[Role].[RoleId]= @RoleId, [dbo].[Role].[Name]= @Nam" +
                "e";
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@RoleId", PersistentObject.RoleId);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Name", PersistentObject.Name);
            RoleSelectionFactory _tempSF = new RoleSelectionFactory();
            _tempSF.getDefaultSelection(PersistentObject, comm);
        }
    }
    public class RoleRowMap : RowMapBase {
        public int RoleId;

        public string Name;
    }
    internal class RoleSelectionFactory : SelectionBase<RoleCriteria> {
        public void getDefaultSelection(KYO.DAL.Role Object, System.Data.Common.DbCommand comm) {
            comm.CommandText = (comm.CommandText + " WHERE [dbo].[Role].[RoleId] = @WRoleId");
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@WRoleId", Object.RoleId);
        }
    }
    public class RoleCriteria : CriteriaBase {
        public void Set_RoleId(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[Role].[RoleId]", value);
        }
        public void Set_RoleId_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[Role].[RoleId]", value);
        }
        public void Set_Name(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Role].[Name]", value);
        }
        public void Set_Name_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Role].[Name]", value);
        }
    }
    #endregion
    #region StaticHitCount
    public class StaticHitCountDomainObjectFactory : DomainObjectFactoryBase<KYO.DAL.StaticHitCount, StaticHitCountRowMap> {
        public override KYO.DAL.StaticHitCount newDomainObject(StaticHitCountRowMap row) {
            KYO.DAL.StaticHitCount result = new KYO.DAL.StaticHitCount(row.ContentId, row.Month, row.Type, row.Year, row.HitCount);
            result.IsNew = false;
            result.ChangesMade = false;
            return result;
        }
    }
    internal class StaticHitCountUpdateFactory {
        internal void insertCommandText(KYO.DAL.StaticHitCount PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = "INSERT INTO [dbo].[StaticHitCount] ([dbo].[StaticHitCount].[ContentId],[dbo].[Sta" +
                "ticHitCount].[Month],[dbo].[StaticHitCount].[Type],[dbo].[StaticHitCount].[Year]" +
                ",[dbo].[StaticHitCount].[HitCount]) VALUES (@arg0, @arg1, @arg2, @arg3, @arg4)";
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg0", PersistentObject.ContentId);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg1", PersistentObject.Month);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg2", PersistentObject.Type);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg3", PersistentObject.Year);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg4", PersistentObject.HitCount);
        }
        internal void updateCommandText(KYO.DAL.StaticHitCount PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = "UPDATE [dbo].[StaticHitCount] SET [dbo].[StaticHitCount].[ContentId]= @ContentId," +
                "[dbo].[StaticHitCount].[Month]= @Month,[dbo].[StaticHitCount].[Type]= @Type,[dbo" +
                "].[StaticHitCount].[Year]= @Year, [dbo].[StaticHitCount].[HitCount]= @HitCount";
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@ContentId", PersistentObject.ContentId);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Month", PersistentObject.Month);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Type", PersistentObject.Type);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Year", PersistentObject.Year);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@HitCount", PersistentObject.HitCount);
            StaticHitCountSelectionFactory _tempSF = new StaticHitCountSelectionFactory();
            _tempSF.getDefaultSelection(PersistentObject, comm);
        }
    }
    public class StaticHitCountRowMap : RowMapBase {
        public int ContentId;
        public int Year;
        public int Month;
        public byte Type;

        public int HitCount;
    }
    internal class StaticHitCountSelectionFactory : SelectionBase<StaticHitCountCriteria> {
        public void getDefaultSelection(KYO.DAL.StaticHitCount Object, System.Data.Common.DbCommand comm) {
            comm.CommandText = (comm.CommandText + " WHERE [dbo].[StaticHitCount].[ContentId] = @WContentId AND [dbo].[StaticHitCount" +
                "].[Year] = @WYear AND [dbo].[StaticHitCount].[Month] = @WMonth AND [dbo].[Static" +
                "HitCount].[Type] = @WType");
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@WContentId", Object.ContentId);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@WYear", Object.Year);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@WMonth", Object.Month);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@WType", Object.Type);
        }
    }
    public class StaticHitCountCriteria : CriteriaBase {
        public void Set_ContentId(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[StaticHitCount].[ContentId]", value);
        }
        public void Set_ContentId_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[StaticHitCount].[ContentId]", value);
        }
        public void Set_Year(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[StaticHitCount].[Year]", value);
        }
        public void Set_Year_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[StaticHitCount].[Year]", value);
        }
        public void Set_Month(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[StaticHitCount].[Month]", value);
        }
        public void Set_Month_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[StaticHitCount].[Month]", value);
        }
        public void Set_Type(AVAILABLE_OPERATORS  op, byte value) {
            this.setValue(op, "[dbo].[StaticHitCount].[Type]", value);
        }
        public void Set_Type_IN(IN_NOT_IN op, byte[] value) {
            this.setValue(op, "[dbo].[StaticHitCount].[Type]", value);
        }
        public void Set_HitCount(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[StaticHitCount].[HitCount]", value);
        }
        public void Set_HitCount_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[StaticHitCount].[HitCount]", value);
        }
    }
    #endregion
    #region Tab
    public class TabDomainObjectFactory : DomainObjectFactoryBase<KYO.DAL.Tab, TabRowMap> {
        public override KYO.DAL.Tab newDomainObject(TabRowMap row) {
            KYO.DAL.Tab result = new KYO.DAL.Tab(row.TabId, row.CSS, row.Name, row.ParentId, row.Published, row.ViewOder);
            result.IsNew = false;
            result.ChangesMade = false;
            return result;
        }
    }
    internal class TabUpdateFactory {
        internal void insertCommandText(KYO.DAL.Tab PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = "INSERT INTO [dbo].[Tab] ([dbo].[Tab].[CSS],[dbo].[Tab].[Name],[dbo].[Tab].[Parent" +
                "Id],[dbo].[Tab].[Published],[dbo].[Tab].[ViewOder]) VALUES (@arg0, @arg1, @arg2," +
                " @arg3, @arg4)";
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg0", PersistentObject.CSS);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg1", PersistentObject.Name);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg2", PersistentObject.ParentId);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg3", PersistentObject.Published);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg4", PersistentObject.ViewOder);
        }
        internal void updateCommandText(KYO.DAL.Tab PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = "UPDATE [dbo].[Tab] SET [dbo].[Tab].[CSS]= @CSS, [dbo].[Tab].[Name]= @Name, [dbo]." +
                "[Tab].[ParentId]= @ParentId, [dbo].[Tab].[Published]= @Published, [dbo].[Tab].[V" +
                "iewOder]= @ViewOder";
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@CSS", PersistentObject.CSS);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Name", PersistentObject.Name);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@ParentId", PersistentObject.ParentId);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Published", PersistentObject.Published);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@ViewOder", PersistentObject.ViewOder);
            TabSelectionFactory _tempSF = new TabSelectionFactory();
            _tempSF.getDefaultSelection(PersistentObject, comm);
        }
    }
    public class TabRowMap : RowMapBase {
        public int TabId;

        public string Name;
        public int ViewOder;
        public bool Published;
        public string CSS;
        public int ParentId;
    }
    internal class TabSelectionFactory : SelectionBase<TabCriteria> {
        public void getDefaultSelection(KYO.DAL.Tab Object, System.Data.Common.DbCommand comm) {
            comm.CommandText = (comm.CommandText + " WHERE [dbo].[Tab].[TabId] = @WTabId");
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@WTabId", Object.TabId);
        }
    }
    public class TabCriteria : CriteriaBase {
        public void Set_TabId(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[Tab].[TabId]", value);
        }
        public void Set_TabId_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[Tab].[TabId]", value);
        }
        public void Set_Name(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Tab].[Name]", value);
        }
        public void Set_Name_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Tab].[Name]", value);
        }
        public void Set_ViewOder(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[Tab].[ViewOder]", value);
        }
        public void Set_ViewOder_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[Tab].[ViewOder]", value);
        }
        public void Set_Published(AVAILABLE_OPERATORS  op, bool value) {
            this.setValue(op, "[dbo].[Tab].[Published]", value);
        }
        public void Set_Published_IN(IN_NOT_IN op, bool[] value) {
            this.setValue(op, "[dbo].[Tab].[Published]", value);
        }
        public void Set_CSS(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[Tab].[CSS]", value);
        }
        public void Set_CSS_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[Tab].[CSS]", value);
        }
        public void Set_ParentId(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[Tab].[ParentId]", value);
        }
        public void Set_ParentId_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[Tab].[ParentId]", value);
        }
    }
    #endregion
    #region User
    public class UserDomainObjectFactory : DomainObjectFactoryBase<KYO.DAL.User, UserRowMap> {
        public override KYO.DAL.User newDomainObject(UserRowMap row) {
            KYO.DAL.User result = new KYO.DAL.User(row.UserID, row.FullName, row.ImageUrl, row.Password, row.Username);
            result.IsNew = false;
            result.ChangesMade = false;
            return result;
        }
    }
    internal class UserUpdateFactory {
        internal void insertCommandText(KYO.DAL.User PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = "INSERT INTO [dbo].[User] ([dbo].[User].[FullName],[dbo].[User].[ImageUrl],[dbo].[" +
                "User].[Password],[dbo].[User].[Username]) VALUES (@arg0, @arg1, @arg2, @arg3)";
            if ((PersistentObject.FullName == null)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg0", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg0", PersistentObject.FullName);
            }
            if ((PersistentObject.ImageUrl == null)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg1", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg1", PersistentObject.ImageUrl);
            }
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg2", PersistentObject.Password);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@arg3", PersistentObject.Username);
        }
        internal void updateCommandText(KYO.DAL.User PersistentObject, System.Data.Common.DbCommand comm) {
            comm.CommandText = "UPDATE [dbo].[User] SET [dbo].[User].[FullName]= @FullName, [dbo].[User].[ImageUr" +
                "l]= @ImageUrl, [dbo].[User].[Password]= @Password, [dbo].[User].[Username]= @Use" +
                "rname";
            if ((PersistentObject.FullName == null)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@FullName", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@FullName", PersistentObject.FullName);
            }
            if ((PersistentObject.ImageUrl == null)) {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@ImageUrl", DBNull.Value);
            }
            else {
                ObjectPersistenceHelper.AddParameterWithValue(comm, "@ImageUrl", PersistentObject.ImageUrl);
            }
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Password", PersistentObject.Password);
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@Username", PersistentObject.Username);
            UserSelectionFactory _tempSF = new UserSelectionFactory();
            _tempSF.getDefaultSelection(PersistentObject, comm);
        }
    }
    public class UserRowMap : RowMapBase {
        public int UserID;

        public string Password;
        public string Username;
        public string FullName;
        public string ImageUrl;
    }
    internal class UserSelectionFactory : SelectionBase<UserCriteria> {
        public void getDefaultSelection(KYO.DAL.User Object, System.Data.Common.DbCommand comm) {
            comm.CommandText = (comm.CommandText + " WHERE [dbo].[User].[UserID] = @WUserID");
            ObjectPersistenceHelper.AddParameterWithValue(comm, "@WUserID", Object.UserID);
        }
    }
    public class UserCriteria : CriteriaBase {
        public void Set_UserID(AVAILABLE_OPERATORS  op, int value) {
            this.setValue(op, "[dbo].[User].[UserID]", value);
        }
        public void Set_UserID_IN(IN_NOT_IN op, int[] value) {
            this.setValue(op, "[dbo].[User].[UserID]", value);
        }
        public void Set_Password(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[User].[Password]", value);
        }
        public void Set_Password_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[User].[Password]", value);
        }
        public void Set_Username(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[User].[Username]", value);
        }
        public void Set_Username_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[User].[Username]", value);
        }
        public void Set_FullName(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[User].[FullName]", value);
        }
        public void Set_FullName_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[User].[FullName]", value);
        }
        public void Set_ImageUrl(AVAILABLE_STRING_OPERATORS  op, string value) {
            this.setValue(op, "[dbo].[User].[ImageUrl]", value);
        }
        public void Set_ImageUrl_IN(IN_NOT_IN op, string[] value) {
            this.setValue(op, "[dbo].[User].[ImageUrl]", value);
        }
    }
    #endregion
}
